[INFO] fetching crate qiniu-http-client 0.2.4...
[INFO] fixing qiniu-http-client-0.2.4 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate qiniu-http-client 0.2.4 into /workspace/builds/worker-6-tc2/source
[INFO] started tweaking crates.io crate qiniu-http-client 0.2.4
[INFO] finished tweaking crates.io crate qiniu-http-client 0.2.4
[INFO] tweaked toml for crates.io crate qiniu-http-client 0.2.4 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate qiniu-http-client 0.2.4 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 392 packages to latest compatible versions
[INFO] [stderr]       Adding async-once-cell v0.3.1 (available: v0.5.4)
[INFO] [stderr]       Adding async-std-resolver v0.22.0 (available: v0.24.4)
[INFO] [stderr]       Adding c-ares v7.8.0 (available: v12.0.0)
[INFO] [stderr]       Adding c-ares-resolver v7.6.0 (available: v11.0.0)
[INFO] [stderr]       Adding curl v0.4.49 (available: v0.4.50)
[INFO] [stderr]       Adding curl-sys v0.4.87+curl-8.19.0 (available: v0.4.89+curl-8.20.0)
[INFO] [stderr]       Adding dashmap v5.5.3 (available: v6.2.1)
[INFO] [stderr]       Adding dirs v3.0.2 (available: v6.0.0)
[INFO] [stderr]       Adding dns-lookup v1.0.8 (available: v3.0.1)
[INFO] [stderr]       Adding env_logger v0.10.2 (available: v0.11.10)
[INFO] [stderr]       Adding fs4 v0.6.6 (available: v1.1.0)
[INFO] [stderr]       Adding generic-array v0.14.7 (available: v0.14.9)
[INFO] [stderr]       Adding md-5 v0.9.1 (available: v0.11.0)
[INFO] [stderr]       Adding num-rational v0.3.2 (available: v0.4.2)
[INFO] [stderr]       Adding rand v0.7.3 (available: v0.10.1)
[INFO] [stderr]       Adding subtle v2.4.1 (available: v2.6.1)
[INFO] [stderr]       Adding thiserror v1.0.69 (available: v2.0.18)
[INFO] [stderr]       Adding trust-dns-resolver v0.22.0 (available: v0.23.2)
[INFO] [stderr]       Adding trust-dns-server v0.22.1 (available: v0.23.2)
[INFO] [stderr]       Adding ureq v2.9.1 (available: v2.12.1)
[INFO] [stderr]       Adding warp v0.3.7 (available: v0.4.3)
[INFO] [stderr]       Adding windows-sys v0.48.0 (available: v0.61.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 87b64d4584763fe8ae456403fe388ab168e925cc1c9a00caa62eff1f6febfd49
[INFO] running `Command { std: "docker" "start" "87b64d4584763fe8ae456403fe388ab168e925cc1c9a00caa62eff1f6febfd49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "87b64d4584763fe8ae456403fe388ab168e925cc1c9a00caa62eff1f6febfd49" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "87b64d4584763fe8ae456403fe388ab168e925cc1c9a00caa62eff1f6febfd49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "87b64d4584763fe8ae456403fe388ab168e925cc1c9a00caa62eff1f6febfd49" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]     Checking value-bag v1.12.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]     Checking tokio v1.52.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking smallstr v0.3.1
[INFO] [stderr]     Checking icu_normalizer v2.2.0
[INFO] [stderr]     Checking event-listener-strategy v0.5.4
[INFO] [stderr]     Checking futures-lite v2.6.1
[INFO] [stderr]    Compiling auto_impl v1.3.0
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking assert-impl v0.1.3
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling qiniu-http v0.2.4
[INFO] [stderr]     Checking crypto-mac v0.11.1
[INFO] [stderr]    Compiling async-io v2.6.0
[INFO] [stderr]     Checking async-task v4.7.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]     Checking unicode-bidi v0.3.18
[INFO] [stderr]     Checking log v0.4.33
[INFO] [stderr]     Checking matches v0.1.10
[INFO] [stderr]     Checking hmac v0.11.0
[INFO] [stderr]     Checking piper v0.2.5
[INFO] [stderr]     Checking sha-1 v0.9.8
[INFO] [stderr]     Checking async-channel v2.5.0
[INFO] [stderr]    Compiling num-rational v0.3.2
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]    Compiling multer v2.1.0
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking endian-type v0.1.2
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking idna v0.2.3
[INFO] [stderr]     Checking time v0.3.51
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]     Checking async-executor v1.14.0
[INFO] [stderr]     Checking blocking v1.6.2
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking async-lock v3.4.2
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]     Checking headers-core v0.2.0
[INFO] [stderr]     Checking dirs-sys v0.3.7
[INFO] [stderr]     Checking socket2 v0.4.10
[INFO] [stderr]     Checking spin v0.9.8
[INFO] [stderr]     Checking async-channel v1.9.0
[INFO] [stderr]     Checking chrono v0.4.45
[INFO] [stderr]     Checking dirs v3.0.2
[INFO] [stderr]     Checking dns-lookup v1.0.8
[INFO] [stderr]     Checking headers v0.3.9
[INFO] [stderr]     Checking rand v0.7.3
[INFO] [stderr]     Checking tungstenite v0.21.0
[INFO] [stderr]     Checking kv-log-macro v1.0.7
[INFO] [stderr]     Checking md-5 v0.9.1
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking humantime v2.3.0
[INFO] [stderr]     Checking maybe-owned v0.3.4
[INFO] [stderr]     Checking env_logger v0.10.2
[INFO] [stderr]     Checking pin-project v1.1.13
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]     Checking serde_json v1.0.150
[INFO] [stderr]    Compiling enum-as-inner v0.5.1
[INFO] [stderr]    Compiling duplicate v0.2.9
[INFO] [stderr]    Compiling async-attributes v1.1.2
[INFO] [stderr]     Checking fs4 v0.6.6
[INFO] [stderr]     Checking qiniu-utils v0.2.4
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking toml v0.5.11
[INFO] [stderr]     Checking qiniu-credential v0.2.4
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking qiniu-upload-token v0.2.4
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking trust-dns-proto v0.22.0
[INFO] [stderr]     Checking tokio-tungstenite v0.21.0
[INFO] [stderr]     Checking polling v3.11.0
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking async-global-executor v2.4.1
[INFO] [stderr]     Checking async-std v1.13.2
[INFO] [stderr]     Checking ureq v2.9.1
[INFO] [stderr]     Checking trust-dns-client v0.22.0
[INFO] [stderr]     Checking qiniu-ureq v0.2.4
[INFO] [stderr]     Checking qiniu-http-client v0.2.4 (/opt/rustwide/workdir)
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]     Checking trust-dns-server v0.22.1
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]        Fixed src/regions/regions_provider/structs.rs (1 fix)
[INFO] [stderr]        Fixed src/client/callbacks.rs (2 fixes)
[INFO] [stderr]        Fixed src/client/chooser/ip.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/cache/sync_cache.rs:399:35
[INFO] [stdout]     |
[INFO] [stdout] 399 |         while let Some(command) = commands.pop() {
[INFO] [stdout]     |                        -------    ^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |          |
[INFO] [stdout]     |                        |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `command` calls a custom destructor
[INFO] [stdout]     |                        `command` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 |                     let (key, value) = entry.into_parts();
[INFO] [stdout]     |                                        ------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 410 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/client/request/multipart.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/client/call/try_domain_or_ip_addr.rs:57:11
[INFO] [stdout]      |
[INFO] [stdout]   34 |     let mut http_request: HttpRequest<SyncRequestBody> =
[INFO] [stdout]      |         ----------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `http_request` calls a custom destructor
[INFO] [stdout]      |         `http_request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   57 |     match send_http_request(&mut http_request, parts, retried) {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   83 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `http_request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `http_request` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.2/src/lib.rs:2167:1
[INFO] [stdout]      |
[INFO] [stdout] 2167 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `http_request` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/client/authorization.rs (2 fixes)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client/call/try_endpoints.rs:31:15
[INFO] [stdout]     |
[INFO] [stdout]  22 |       mut extensions: Extensions,
[INFO] [stdout]     |       --------------
[INFO] [stdout]     |       |
[INFO] [stdout]     |       `extensions` calls a custom destructor
[INFO] [stdout]     |       `extensions` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  27 |       let mut last_error: Option<TryError> = None;
[INFO] [stdout]     |           --------------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `last_error` calls a custom destructor
[INFO] [stdout]     |           `last_error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  31 |           match try_domain_with_port(
[INFO] [stdout]     |  _______________^
[INFO] [stdout]  32 | |             domain_with_port,
[INFO] [stdout]  33 | |             tried_ips,
[INFO] [stdout]  34 | |             parts,
[INFO] [stdout] ...   |
[INFO] [stdout]  38 | |             is_endpoints_alternative,
[INFO] [stdout]  39 | |         ) {
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  42 |                   let (err, ext) = err.split();
[INFO] [stdout]     |                                    -----------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  51 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `extensions` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `last_error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/client/chooser/subnet.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client/call/try_endpoints.rs:137:27
[INFO] [stdout]     |
[INFO] [stdout] 125 |               let mut last_error: Option<TryError> = None;
[INFO] [stdout]     |                   --------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `last_error` calls a custom destructor
[INFO] [stdout]     |                   `last_error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 137 |                       match try_domain_with_ips(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 138 | |                         domain_with_port,
[INFO] [stdout] 139 | |                         &mut remaining_ips,
[INFO] [stdout] 140 | |                         tried_ips,
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |                         is_endpoints_alternative,
[INFO] [stdout] 146 | |                     ) {
[INFO] [stdout]     | |                     ^
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |                               let (err, ext) = err.split();
[INFO] [stdout]     |                                                -----------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 163 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `last_error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]        Fixed src/cache/sync_cache.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client/call/try_endpoints.rs:256:19
[INFO] [stdout]     |
[INFO] [stdout] 247 |           let mut last_error: Option<TryError> = None;
[INFO] [stdout]     |               --------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `last_error` calls a custom destructor
[INFO] [stdout]     |               `last_error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 256 |               match try_remaining_ips(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 257 | |                 &mut remaining_ips,
[INFO] [stdout] 258 | |                 tried_ips,
[INFO] [stdout] 259 | |                 parts,
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |                 is_endpoints_alternative,
[INFO] [stdout] 264 | |             ) {
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 267 |                       let (err, ext) = err.split();
[INFO] [stdout]     |                                        -----------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 278 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `last_error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client/call/try_endpoints.rs:306:27
[INFO] [stdout]     |
[INFO] [stdout] 292 |             let mut last_error: Option<TryError> = None;
[INFO] [stdout]     |                 --------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `last_error` calls a custom destructor
[INFO] [stdout]     |                 `last_error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 306 |                     match try_single_ip(chosen_ip, parts, body, extensions, retried, is_endpoints_alternative) {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 309 |                             let (err, ext) = err.split();
[INFO] [stdout]     |                                              -----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 319 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `last_error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client/resolver/chained.rs:30:19
[INFO] [stdout]     |
[INFO] [stdout]  28 |         let mut last_result: Option<ResolveResult> = None;
[INFO] [stdout]     |             ---------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `last_result` calls a custom destructor
[INFO] [stdout]     |             `last_result` will be dropped later as of Edition 2024
[INFO] [stdout]  29 |         for resolver in self.resolvers.iter() {
[INFO] [stdout]  30 |             match resolver.resolve(domain, opts) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  34 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `last_result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `last_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client/resolver/timeout.rs:68:35
[INFO] [stdout]     |
[INFO] [stdout]  65 |                   let inner = resolver.to_owned();
[INFO] [stdout]     |                       -----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `inner` calls a custom destructor
[INFO] [stdout]     |                       `inner` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  68 |                   if let Err(err) = spawn(
[INFO] [stdout]     |  ___________________________________^
[INFO] [stdout]  69 | |                     "qiniu.rust-sdk.http-client.resolver.TimeoutResolver.resolve".into(),
[INFO] [stdout]  70 | |                     move || {
[INFO] [stdout]  71 | |                         let opts = ResolveOptions::from(&opts);
[INFO] [stdout]  72 | |                         sender.send(inner.resolver.resolve(&domain, opts)).ok();
[INFO] [stdout]  73 | |                     },
[INFO] [stdout]  74 | |                 ) {
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  77 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/regions/endpoints_provider/bucket_domains_provider.rs:242:19
[INFO] [stdout]      |
[INFO] [stdout]  239 |         let credential = self.credential.get(Default::default())?;
[INFO] [stdout]      |             ----------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `credential` calls a custom destructor
[INFO] [stdout]      |             `credential` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  242 |             .get(&self.make_cache_key(&credential), || self.do_sync_query())
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  243 |             .map(Cow::Owned)
[INFO] [stdout]  244 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.2/src/lib.rs:2167:1
[INFO] [stdout]      |
[INFO] [stdout] 2167 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `credential` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.2/src/lib.rs:2167:1
[INFO] [stdout]      |
[INFO] [stdout] 2167 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking warp v0.3.7
[INFO] [stderr]        Fixed src/test_utils/resolver.rs (1 fix)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/cache/sync_cache.rs:399:35
[INFO] [stdout]     |
[INFO] [stdout] 399 |         while let Some(command) = commands.pop() {
[INFO] [stdout]     |                        -------    ^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |          |
[INFO] [stdout]     |                        |          this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                        |          up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `command` calls a custom destructor
[INFO] [stdout]     |                        `command` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 402 |                     let (key, value) = entry.into_parts();
[INFO] [stdout]     |                                        ------------------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 410 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/client/call/try_domain_or_ip_addr.rs:57:11
[INFO] [stdout]      |
[INFO] [stdout]   34 |     let mut http_request: HttpRequest<SyncRequestBody> =
[INFO] [stdout]      |         ----------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `http_request` calls a custom destructor
[INFO] [stdout]      |         `http_request` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   57 |     match send_http_request(&mut http_request, parts, retried) {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |           |
[INFO] [stdout]      |           this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |           up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]   83 | }
[INFO] [stdout]      | - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]      |
[INFO] [stdout]  713 | impl Drop for Error {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: `http_request` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `http_request` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.2/src/lib.rs:2167:1
[INFO] [stdout]      |
[INFO] [stdout] 2167 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `http_request` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]      |
[INFO] [stdout]  666 | impl Drop for Bytes {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.12s
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client/call/try_endpoints.rs:31:15
[INFO] [stdout]     |
[INFO] [stdout]  22 |       mut extensions: Extensions,
[INFO] [stdout]     |       --------------
[INFO] [stdout]     |       |
[INFO] [stdout]     |       `extensions` calls a custom destructor
[INFO] [stdout]     |       `extensions` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  27 |       let mut last_error: Option<TryError> = None;
[INFO] [stdout]     |           --------------
[INFO] [stdout]     |           |
[INFO] [stdout]     |           `last_error` calls a custom destructor
[INFO] [stdout]     |           `last_error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  31 |           match try_domain_with_port(
[INFO] [stdout]     |  _______________^
[INFO] [stdout]  32 | |             domain_with_port,
[INFO] [stdout]  33 | |             tried_ips,
[INFO] [stdout]  34 | |             parts,
[INFO] [stdout] ...   |
[INFO] [stdout]  38 | |             is_endpoints_alternative,
[INFO] [stdout]  39 | |         ) {
[INFO] [stdout]     | |         ^
[INFO] [stdout]     | |         |
[INFO] [stdout]     | |_________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  42 |                   let (err, ext) = err.split();
[INFO] [stdout]     |                                    -----------
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                    `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  51 |       }
[INFO] [stdout]     |       - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `extensions` may invoke a custom destructor because it contains a trait object
[INFO] [stdout]     = note: `last_error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client/call/try_endpoints.rs:137:27
[INFO] [stdout]     |
[INFO] [stdout] 125 |               let mut last_error: Option<TryError> = None;
[INFO] [stdout]     |                   --------------
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   `last_error` calls a custom destructor
[INFO] [stdout]     |                   `last_error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 137 |                       match try_domain_with_ips(
[INFO] [stdout]     |  ___________________________^
[INFO] [stdout] 138 | |                         domain_with_port,
[INFO] [stdout] 139 | |                         &mut remaining_ips,
[INFO] [stdout] 140 | |                         tried_ips,
[INFO] [stdout] ...   |
[INFO] [stdout] 145 | |                         is_endpoints_alternative,
[INFO] [stdout] 146 | |                     ) {
[INFO] [stdout]     | |                     ^
[INFO] [stdout]     | |                     |
[INFO] [stdout]     | |_____________________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 152 |                               let (err, ext) = err.split();
[INFO] [stdout]     |                                                -----------
[INFO] [stdout]     |                                                |
[INFO] [stdout]     |                                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 163 |                   }
[INFO] [stdout]     |                   - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `last_error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client/call/try_endpoints.rs:256:19
[INFO] [stdout]     |
[INFO] [stdout] 247 |           let mut last_error: Option<TryError> = None;
[INFO] [stdout]     |               --------------
[INFO] [stdout]     |               |
[INFO] [stdout]     |               `last_error` calls a custom destructor
[INFO] [stdout]     |               `last_error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 256 |               match try_remaining_ips(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 257 | |                 &mut remaining_ips,
[INFO] [stdout] 258 | |                 tried_ips,
[INFO] [stdout] 259 | |                 parts,
[INFO] [stdout] ...   |
[INFO] [stdout] 263 | |                 is_endpoints_alternative,
[INFO] [stdout] 264 | |             ) {
[INFO] [stdout]     | |             ^
[INFO] [stdout]     | |             |
[INFO] [stdout]     | |_____________this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 267 |                       let (err, ext) = err.split();
[INFO] [stdout]     |                                        -----------
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 278 |           }
[INFO] [stdout]     |           - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `last_error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client/call/try_endpoints.rs:306:27
[INFO] [stdout]     |
[INFO] [stdout] 292 |             let mut last_error: Option<TryError> = None;
[INFO] [stdout]     |                 --------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `last_error` calls a custom destructor
[INFO] [stdout]     |                 `last_error` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 306 |                     match try_single_ip(chosen_ip, parts, body, extensions, retried, is_endpoints_alternative) {
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                           |
[INFO] [stdout]     |                           this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                           up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 309 |                             let (err, ext) = err.split();
[INFO] [stdout]     |                                              -----------
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                              `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 319 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#2` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `last_error` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_error` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client/resolver/chained.rs:30:19
[INFO] [stdout]     |
[INFO] [stdout]  28 |         let mut last_result: Option<ResolveResult> = None;
[INFO] [stdout]     |             ---------------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `last_result` calls a custom destructor
[INFO] [stdout]     |             `last_result` will be dropped later as of Edition 2024
[INFO] [stdout]  29 |         for resolver in self.resolvers.iter() {
[INFO] [stdout]  30 |             match resolver.resolve(domain, opts) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  34 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#1` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `last_result` may invoke a custom destructor because it contains a trait object
[INFO] [stdout] note: `last_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/bytes-1.12.0/src/bytes.rs:666:1
[INFO] [stdout]     |
[INFO] [stdout] 666 | impl Drop for Bytes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `last_result` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> src/client/resolver/timeout.rs:68:35
[INFO] [stdout]     |
[INFO] [stdout]  65 |                   let inner = resolver.to_owned();
[INFO] [stdout]     |                       -----
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       `inner` calls a custom destructor
[INFO] [stdout]     |                       `inner` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  68 |                   if let Err(err) = spawn(
[INFO] [stdout]     |  ___________________________________^
[INFO] [stdout]  69 | |                     "qiniu.rust-sdk.http-client.resolver.TimeoutResolver.resolve".into(),
[INFO] [stdout]  70 | |                     move || {
[INFO] [stdout]  71 | |                         let opts = ResolveOptions::from(&opts);
[INFO] [stdout]  72 | |                         sender.send(inner.resolver.resolve(&domain, opts)).ok();
[INFO] [stdout]  73 | |                     },
[INFO] [stdout]  74 | |                 ) {
[INFO] [stdout]     | |                 ^
[INFO] [stdout]     | |                 |
[INFO] [stdout]     | |_________________this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  77 |               }
[INFO] [stdout]     |               - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.102/src/error.rs:713:1
[INFO] [stdout]     |
[INFO] [stdout] 713 | impl Drop for Error {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/regions/endpoints_provider/bucket_domains_provider.rs:242:19
[INFO] [stdout]      |
[INFO] [stdout]  239 |         let credential = self.credential.get(Default::default())?;
[INFO] [stdout]      |             ----------
[INFO] [stdout]      |             |
[INFO] [stdout]      |             `credential` calls a custom destructor
[INFO] [stdout]      |             `credential` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  242 |             .get(&self.make_cache_key(&credential), || self.do_sync_query())
[INFO] [stdout]      |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                   |
[INFO] [stdout]      |                   this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                   up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  243 |             .map(Cow::Owned)
[INFO] [stdout]  244 |     }
[INFO] [stdout]      |     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#1` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.2/src/lib.rs:2167:1
[INFO] [stdout]      |
[INFO] [stdout] 2167 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `credential` invokes this custom destructor
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/smallvec-1.15.2/src/lib.rs:2167:1
[INFO] [stdout]      |
[INFO] [stdout] 2167 | impl<A: Array> Drop for SmallVec<A> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] crater-edition-check: qiniu-http-client v0.2.4 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking qiniu-http-client v0.2.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: lint `indirect_structural_match` has been removed: converted into hard error, see RFC #3535 <https://rust-lang.github.io/rfcs/3535-constants-in-patterns.html> for more information
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     indirect_structural_match,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/client/authorization.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     unsafe { set_var(DISABLE_QINIU_TIMESTAMP_SIGNATURE, "1") };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:17:5
[INFO] [stdout]     |
[INFO] [stdout]  17 |     unsafe_code,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/client/authorization.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 |     unsafe { remove_var(DISABLE_QINIU_TIMESTAMP_SIGNATURE) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `indirect_structural_match` has been removed: converted into hard error, see RFC #3535 <https://rust-lang.github.io/rfcs/3535-constants-in-patterns.html> for more information
[INFO] [stdout]   --> src/lib.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     indirect_structural_match,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/client/authorization.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     unsafe { set_var(DISABLE_QINIU_TIMESTAMP_SIGNATURE, "1") };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:17:5
[INFO] [stdout]     |
[INFO] [stdout]  17 |     unsafe_code,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: usage of an `unsafe` block
[INFO] [stdout]    --> src/client/authorization.rs:173:5
[INFO] [stdout]     |
[INFO] [stdout] 173 |     unsafe { remove_var(DISABLE_QINIU_TIMESTAMP_SIGNATURE) };
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `CacheController` is never used
[INFO] [stdout]   --> src/cache/traits.rs:20:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub(crate) trait CacheController {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ClearAll` is never constructed
[INFO] [stdout]    --> src/cache/traits.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub(super) enum PersistentCacheCommand<K, V> {
[INFO] [stdout]     |                 ---------------------- variant in this enum
[INFO] [stdout] 135 |     Append(PersistentCacheEntry<K, V>),
[INFO] [stdout] 136 |     ClearAll,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/client/callback/context.rs:59:20
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn query_pairs(&self) -> &[QueryPair] {
[INFO] [stdout]    |                    ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]    |                    |         | |
[INFO] [stdout]    |                    |         | the same lifetime is hidden here
[INFO] [stdout]    |                    |         the same lifetime is elided here
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn query_pairs(&self) -> &[QueryPair<'_>] {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/client/callback/context.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn authorization(&self) -> Option<&Authorization> {
[INFO] [stdout]    |                      ^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |                ||
[INFO] [stdout]    |                      |                |the same lifetime is hidden here
[INFO] [stdout]    |                      |                the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn authorization(&self) -> Option<&Authorization<'_>> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/client/callback/extended.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn query_pairs(&self) -> &[QueryPair] {
[INFO] [stdout]    |                    ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]    |                    |         | |
[INFO] [stdout]    |                    |         | the same lifetime is hidden here
[INFO] [stdout]    |                    |         the same lifetime is elided here
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn query_pairs(&self) -> &[QueryPair<'_>] {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/callback/extended.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn authorization(&self) -> Option<&Authorization> {
[INFO] [stdout]     |                      ^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |                ||
[INFO] [stdout]     |                      |                |the same lifetime is hidden here
[INFO] [stdout]     |                      |                the same lifetime is elided here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn authorization(&self) -> Option<&Authorization<'_>> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/client/callback/simplified.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn query_pairs(&self) -> &[QueryPair];
[INFO] [stdout]    |                    ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]    |                    |         | |
[INFO] [stdout]    |                    |         | the same lifetime is hidden here
[INFO] [stdout]    |                    |         the same lifetime is elided here
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn query_pairs(&self) -> &[QueryPair<'_>];
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/client/callback/simplified.rs:36:22
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn authorization(&self) -> Option<&Authorization>;
[INFO] [stdout]    |                      ^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |                ||
[INFO] [stdout]    |                      |                |the same lifetime is hidden here
[INFO] [stdout]    |                      |                the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn authorization(&self) -> Option<&Authorization<'_>>;
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/request/builder.rs:906:20
[INFO] [stdout]     |
[INFO] [stdout] 906 |     fn query_pairs(&self) -> &[QueryPair] {
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]     |                    |         | |
[INFO] [stdout]     |                    |         | the same lifetime is hidden here
[INFO] [stdout]     |                    |         the same lifetime is elided here
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 906 |     fn query_pairs(&self) -> &[QueryPair<'_>] {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/request/builder.rs:921:22
[INFO] [stdout]     |
[INFO] [stdout] 921 |     fn authorization(&self) -> Option<&Authorization> {
[INFO] [stdout]     |                      ^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |                ||
[INFO] [stdout]     |                      |                |the same lifetime is hidden here
[INFO] [stdout]     |                      |                the same lifetime is elided here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 921 |     fn authorization(&self) -> Option<&Authorization<'_>> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/request/built.rs:104:20
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn query_pairs(&self) -> &[QueryPair] {
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]     |                    |         | |
[INFO] [stdout]     |                    |         | the same lifetime is hidden here
[INFO] [stdout]     |                    |         the same lifetime is elided here
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn query_pairs(&self) -> &[QueryPair<'_>] {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `qiniu-http-client` (lib) due to 2 previous errors; 12 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/client/callback/context.rs:59:20
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn query_pairs(&self) -> &[QueryPair] {
[INFO] [stdout]    |                    ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]    |                    |         | |
[INFO] [stdout]    |                    |         | the same lifetime is hidden here
[INFO] [stdout]    |                    |         the same lifetime is elided here
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn query_pairs(&self) -> &[QueryPair<'_>] {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/client/callback/context.rs:74:22
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn authorization(&self) -> Option<&Authorization> {
[INFO] [stdout]    |                      ^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |                ||
[INFO] [stdout]    |                      |                |the same lifetime is hidden here
[INFO] [stdout]    |                      |                the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn authorization(&self) -> Option<&Authorization<'_>> {
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/client/callback/extended.rs:92:20
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn query_pairs(&self) -> &[QueryPair] {
[INFO] [stdout]    |                    ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]    |                    |         | |
[INFO] [stdout]    |                    |         | the same lifetime is hidden here
[INFO] [stdout]    |                    |         the same lifetime is elided here
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 92 |     fn query_pairs(&self) -> &[QueryPair<'_>] {
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/callback/extended.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn authorization(&self) -> Option<&Authorization> {
[INFO] [stdout]     |                      ^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |                ||
[INFO] [stdout]     |                      |                |the same lifetime is hidden here
[INFO] [stdout]     |                      |                the same lifetime is elided here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn authorization(&self) -> Option<&Authorization<'_>> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/client/callback/simplified.rs:27:20
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn query_pairs(&self) -> &[QueryPair];
[INFO] [stdout]    |                    ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]    |                    |         | |
[INFO] [stdout]    |                    |         | the same lifetime is hidden here
[INFO] [stdout]    |                    |         the same lifetime is elided here
[INFO] [stdout]    |                    the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 27 |     fn query_pairs(&self) -> &[QueryPair<'_>];
[INFO] [stdout]    |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/client/callback/simplified.rs:36:22
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn authorization(&self) -> Option<&Authorization>;
[INFO] [stdout]    |                      ^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]    |                      |                ||
[INFO] [stdout]    |                      |                |the same lifetime is hidden here
[INFO] [stdout]    |                      |                the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 36 |     fn authorization(&self) -> Option<&Authorization<'_>>;
[INFO] [stdout]    |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/request/builder.rs:906:20
[INFO] [stdout]     |
[INFO] [stdout] 906 |     fn query_pairs(&self) -> &[QueryPair] {
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]     |                    |         | |
[INFO] [stdout]     |                    |         | the same lifetime is hidden here
[INFO] [stdout]     |                    |         the same lifetime is elided here
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 906 |     fn query_pairs(&self) -> &[QueryPair<'_>] {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/request/builder.rs:921:22
[INFO] [stdout]     |
[INFO] [stdout] 921 |     fn authorization(&self) -> Option<&Authorization> {
[INFO] [stdout]     |                      ^^^^^            ^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |                ||
[INFO] [stdout]     |                      |                |the same lifetime is hidden here
[INFO] [stdout]     |                      |                the same lifetime is elided here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 921 |     fn authorization(&self) -> Option<&Authorization<'_>> {
[INFO] [stdout]     |                                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/client/request/built.rs:104:20
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn query_pairs(&self) -> &[QueryPair] {
[INFO] [stdout]     |                    ^^^^^     ^^^^^^^^^^^^
[INFO] [stdout]     |                    |         | |
[INFO] [stdout]     |                    |         | the same lifetime is hidden here
[INFO] [stdout]     |                    |         the same lifetime is elided here
[INFO] [stdout]     |                    the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 104 |     fn query_pairs(&self) -> &[QueryPair<'_>] {
[INFO] [stdout]     |                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `qiniu-http-client` (lib test) due to 2 previous errors; 10 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "87b64d4584763fe8ae456403fe388ab168e925cc1c9a00caa62eff1f6febfd49", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "87b64d4584763fe8ae456403fe388ab168e925cc1c9a00caa62eff1f6febfd49", kill_on_drop: false }`
[INFO] [stdout] 87b64d4584763fe8ae456403fe388ab168e925cc1c9a00caa62eff1f6febfd49
